home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / 3D QuickTime Dynamics / kSan Sources / kSanAGWindowButtons.c < prev    next >
Encoding:
C/C++ Source or Header  |  2000-06-24  |  2.2 KB  |  80 lines

  1. #include "kSanAGWindow.h"
  2. #include "MacOSUtils.h"
  3.  
  4. short magnifyButtonProc (AGWindow *ag)
  5. {
  6.     float newMag;
  7.     newMag =  ag->windowView.magnification * 1.3;
  8.     if  (keyIsPressed(kShiftKeyCode)) newMag *= 3;
  9.  
  10.     kozoSetDataPtr(ag->win->obj,  pMagnification,  typeShortFloat, (Ptr) &newMag,  sizeof(float));
  11.     dispatchNilMessage (ag->win->obj, kInvalGraphicsMessage);
  12.     return (noErr);
  13. }
  14.  
  15. short unmagnifyButtonProc(AGWindow *ag)
  16. {
  17.     float newMag;
  18.     newMag =  ag->windowView.magnification * 0.8;
  19.     if  (keyIsPressed(kShiftKeyCode)) newMag *= 0.33;
  20.  
  21.     kozoSetDataPtr(ag->win->obj,  pMagnification,  typeShortFloat, (Ptr) &newMag,  sizeof(float));
  22.     dispatchNilMessage (ag->win->obj, kInvalGraphicsMessage);
  23.     return (noErr);
  24. }
  25.  
  26. short closerButtonProc(AGWindow *ag)
  27. {
  28.     float newMag;
  29.     newMag =  ag->windowView.perspective * 0.8;
  30.     if  (keyIsPressed(kShiftKeyCode)) newMag *= 0.33;
  31.  
  32.     kozoSetDataPtr(ag->win->obj,  pPerspective,  typeShortFloat, (Ptr) &newMag,  sizeof(float));
  33.     dispatchNilMessage (ag->win->obj, kInvalGraphicsMessage);
  34.     return (noErr);
  35. }
  36.  
  37. short furtherButtonProc(AGWindow *ag)
  38. {
  39.     float newMag;
  40.     newMag =  ag->windowView.perspective * 1.3;
  41.     if  (keyIsPressed(kShiftKeyCode)) newMag *= 3;
  42.  
  43.     kozoSetDataPtr(ag->win->obj,  pPerspective,  typeShortFloat, (Ptr) &newMag,  sizeof(float));
  44.     dispatchNilMessage (ag->win->obj, kInvalGraphicsMessage);
  45.     return (noErr);
  46. }
  47.  
  48. short largerButtonProc(AGWindow *ag)
  49. {
  50.     float newMag;
  51.     newMag =  ag->windowView.particleSizeFactor * 1.1;
  52.     if  (keyIsPressed(kShiftKeyCode)) newMag *= 2;
  53.  
  54.     kozoSetDataPtr(ag->win->obj,  pParticleSizeFactor,  typeShortFloat, (Ptr) &newMag,  sizeof(float));
  55.     dispatchNilMessage (ag->win->obj, kInvalGraphicsMessage);
  56.     return (noErr);
  57. }
  58.  
  59. short smallerButtonProc(AGWindow *ag)
  60. {
  61.     float newMag;
  62.     newMag =  ag->windowView.particleSizeFactor * 0.9;
  63.     if  (keyIsPressed(kShiftKeyCode)) newMag *= 0.5;
  64.  
  65.     kozoSetDataPtr(ag->win->obj,  pParticleSizeFactor,  typeShortFloat, (Ptr) &newMag,  sizeof(float));
  66.     dispatchNilMessage (ag->win->obj, kInvalGraphicsMessage);
  67.     return (noErr);
  68. }
  69.  
  70. short rollCellButtonProc(AGWindow *ag)
  71. {
  72.      AGSetMouseMode( ag, kMouseManipulationMode);
  73.     return (noErr);
  74. }
  75. short selectFingerButtonProc(AGWindow *ag)
  76. {
  77.      AGSetMouseMode( ag, kSelectAndHighlightMode);
  78.     return (noErr);
  79. }
  80.